<?php
namespace Deployer;
// 引入官方的 Laravel 部署脚本
require 'recipe/laravel.php';

// Project name
// 设置一个名为 application 的环境变量，值为 my_project
set('application', 'my_project');

// Project repository
// 设置一个名为 repository，值为初始化脚本时输入的 github 仓库地址
set('repository', 'https://gitee.com/wubinOnline/blog.git');

// [Optional] Allocate tty for git clone. Default value is false.
// 设置环境变量，不需要关心
set('git_tty', true); 

// Shared files/dirs between deploys
// shared_files / shared_dirs 这两个环境变量是数组格式，add 函数可以往数组里添加值
add('shared_files', []);
add('shared_dirs', []);

// Writable dirs by web server
// Deployer 会把这个变量下的目录加上写权限
add('writable_dirs', []);


// Hosts
// 添加一台服务器，服务器 IP/域名 是 project.com
host('106.14.176.7')
    ->user('root') // 使用 root 账号登录
    ->identityFile('c:ssh_copy\laravel-wubin-aliyun.pem') // 指定登录密钥文件路径
    ->become('root') // 以 www-data 身份执行命令
    // 设置一个这台服务器独享的环境变量，名为 deploy_path，值为 ~/my_project
    // Deployer 会把花括号包裹起来的字符串替换成对应的环境变量
    ->set('deploy_path', '/www/wwwroot/blog');
    
// Tasks
// 定义一个名为 build 的任务
//task('build', function () {
//    // 这个任务的内容是执行 cd ~/my_project && build 命令
//    run('cd {{release_path}} && build');
//});

// [Optional] if deploy fails automatically unlock.
// 定义一个后置钩子，当 deploy:failed 任务被执行之后，Deployer 会执行 deploy:unlock 任务
after('deploy:failed', 'deploy:unlock');

// Migrate database before symlink new release.
// 定义一个前置钩子，在执行 deploy:symlink 任务之前先执行 artisan:migrate

before('deploy:symlink', 'artisan:migrate');

